Skip to content

feat: fetch apps and collaborators (WPB-25747) - #5220

Merged
sbakhtiarov merged 2 commits into
developfrom
feat/apps-and-collaborators-fetch
Sep 23, 2026
Merged

sbakhtiarov merged 2 commits into
developfrom
feat/apps-and-collaborators-fetch

Conversation

@sbakhtiarov

@sbakhtiarov sbakhtiarov commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

https://wearezeta.atlassian.net/browse/WPB-25747

https://wearezeta.atlassian.net/browse/WPB-25747

What's new in this PR?

Issues

The Apps search relied on locally cached users, which can be incomplete for teams with more than 2,000 members. This could incorrectly show an empty Apps page even though apps were available.

Solutions

Refresh apps once when the Apps page is opened and wait for the refresh before resolving the initial empty-query results. Subsequent searches use the refreshed local cache without repeating the synchronization.
If refreshing fails, log the failure and continue using the existing cached apps.

When apps are disabled for the conversation, render the disabled-state content directly without creating the Apps ViewModel or making network requests. The legacy services flow remains unchanged.

@codecov

codecov Bot commented Aug 27, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.47619% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.16%. Comparing base (e54cf8e) to head (91628bd).

Files with missing lines Patch % Lines
...om/wire/android/search/apps/SearchAppsViewModel.kt 90.47% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #5220   +/-   ##
========================================
  Coverage    54.15%   54.16%           
========================================
  Files          756      756           
  Lines        26446    26451    +5     
  Branches      4374     4377    +3     
========================================
+ Hits         14322    14326    +4     
+ Misses       10726    10725    -1     
- Partials      1398     1400    +2     
Files with missing lines Coverage Δ
...n/com/wire/android/search/apps/AppsContentState.kt 0.00% <ø> (ø)
...om/wire/android/search/apps/SearchAppsViewModel.kt 94.82% <90.47%> (-3.25%) ⬇️

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e54cf8e...91628bd. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

github-actions Bot commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

10 files   -   337  10 suites   - 337   7s ⏱️ - 1m 44s
63 tests  - 2 771  63 ✅  - 2 771  0 💤 ±0  0 ❌ ±0 
63 runs   - 2 777  63 ✅  - 2 777  0 💤 ±0  0 ❌ ±0 

Results for commit 2353944. ± Comparison against base commit 049fd33.

This pull request removes 2771 tests.
com.wire.android.GlobalObserversManagerTest ‑ given app not visible and valid session, when handling ephemeral messages, then do not call deleteEphemeralMessageEndDate()
com.wire.android.GlobalObserversManagerTest ‑ given app not visible and valid session, when observing app open, then do not retry sending pending messages()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and invalid session, when app opens, then do not retry sending pending messages()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and invalid session, when handling ephemeral messages, then do not call deleteEphemeralMessageEndDate()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and no session, when app opens, then do not retry sending pending messages()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and no session, when handling ephemeral messages, then do not call deleteEphemeralMessageEndDate()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and session failure, when app opens, then do not retry sending pending messages()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and session failure, when handling ephemeral messages, then do not call deleteEphemeralMessageEndDate()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and valid session, when app opens, then retry sending pending messages()
com.wire.android.GlobalObserversManagerTest ‑ given app visible and valid session, when handling ephemeral messages, then call deleteEphemeralMessageEndDate()
…

♻️ This comment has been updated with latest results.

@sbakhtiarov
sbakhtiarov force-pushed the feat/apps-and-collaborators-fetch branch from 990b69e to b6dfe43 Compare September 21, 2026 07:30
@sbakhtiarov
sbakhtiarov force-pushed the feat/apps-and-collaborators-fetch branch from b6dfe43 to 2731374 Compare September 22, 2026 07:30
@sbakhtiarov
sbakhtiarov force-pushed the feat/apps-and-collaborators-fetch branch from 0778583 to 2353944 Compare September 23, 2026 06:53
@github-actions

Copy link
Copy Markdown
Contributor

@sbakhtiarov looks like you are rolling back kalium to a previous commitish.

This means that the PR's target branch (develop) is using a newer version of Kalium, and the changes in this PR will rollback Kalium to an older version.

develop This PR
d68d3bd3e82d520b17703d14f691a4fffa8d8689 0e245a0e11f775fb6665f4a0b870ecfa2dd06e3d

Is this intentional?

@sbakhtiarov
sbakhtiarov force-pushed the feat/apps-and-collaborators-fetch branch from 2353944 to 91628bd Compare September 23, 2026 16:38
@sbakhtiarov
sbakhtiarov added this pull request to the merge queue Sep 23, 2026
Merged via the queue into develop with commit 0050da5 Sep 23, 2026
19 checks passed
@sbakhtiarov
sbakhtiarov deleted the feat/apps-and-collaborators-fetch branch September 23, 2026 17:02
@github-actions

Copy link
Copy Markdown
Contributor

APKs built during tests are available here. Scroll down to Artifacts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants